Traditional hard disk drives (HDDs) have the capacity to store very large amounts of data at very reasonable costs per unit storage capacity. However, the performance of such drives in terms of input/output speed is significantly behind the speed of central processing units and various system buses. Accordingly, the transfer of data to and from hard disk drives presents a significant bottleneck to overall computer system performance.
Modern solid state drives (SSDs) provide high speed non-volatile storage, but their cost per unit of storage capacity is substantially higher than that of hard disk drives. Thus, it may not be cost effective to simply replace HDDs with SSDs. However, hybrid storage systems, which include a combination of HDDs and SSDs offer benefits from both storage technologies. In hybrid storage systems most of the data is stored in the HDD part of the system while a subset of the data is stored in the SSD part of the system.
Current hybrid storage caching techniques can make a determination of where to store the data based on how often a particular file is accessed. Less frequently accessed data, which might be referred to as cold data, can be stored in the HDD part of the hybrid storage system, while more frequently accessed data, which might be referred to as hot data, can be cached in the SSD part of the system. However, these conventional caching techniques can be inefficient and provide only limited control of characteristics to make this determination.